//先获取所有分类
$.get('/categories', function (response) {
    let html = template('categoryTpl', { data: response })
    $('#category').html(html)
})

//写文章上传
$('#parentBox').on('change', '#feature', function () {
    let formData = new FormData()
    //将文件对象放到formData中
    formData.append('cover', this.files[0])
    //将文件ajax,进行头像的上传,然后返回服务器是上的头像地址
    $.ajax({
        type: 'post',
        url: '/upload',
        data: formData,
        processData: false,
        contentType: false,
        success: function (response) {
            // console.log(response);
            $('#thumbnail').val(response[0].cover)
        }
    })
})

//提交添加文章
$('#addForm').on('submit', function () {
    let formData = $(this).serialize()
    // console.log(formData);
    $.ajax({
        type: 'post',
        url: '/posts',
        data: formData,
        success: function () {
            alert('文章发布成功')
            location.href = 'posts.html'
        },
        error: function () {
            alert('文章发布失败')
        }
    })
    return false
})

//修改跳转过来的文章
//1, 通过页面跳转带来的id,去取文章参数, 去刷新页面
let id = getUrlParams('id')
//id 不等于 -1 代表有id参数, 那就代表是编辑
if (id !== -1) {
    //再根据id ,发送ajax请求 ,获取文章数据
    $.get('/posts/' + id, function (response) {
        console.log(response);  //拿到数据往模板上刷
        /*因为分类数据是id值, 但是显示的是标题,所以需要先获取所有分类数据, 再进行比对 */
        $.get('/categories', function (categories) {
            //将所有分类传递到页面
            response.categories = categories
            console.log(response.categories);

            let html = template('modifyTpl', response)
            $('#parentBox').html(html)
        })

    })

}

//点击修改按钮, 提交文章修改
$('#parentBox').on('submit', '#modifyForm ', function () {
    // alert('提交修改了')
    let formData = $(this).serialize()
    $.ajax({
        type: 'put',
        url: '/posts/' + $(this).attr('data-id'),
        data: formData,
        success: function () {
            //这是相对路径, 是会替换后面的路径
            location.href = 'posts.html'
        }
    })
    return false

})

//2, 封装一个函数, 可以获取任意参数 ?xx=xxxx&xx=xxxx
function getUrlParams(name) {
    //a,先去掉 ? 
    let paramsArray = location.search.substr(1).split('&') //得到数组
    for (let string of paramsArray) {
        //再通过 = 拆分
        let temp = string.split('=')
        //temp[0] :键 , temp[1] 值
        if (temp[0] === name) {
            return temp[1]
        }
    }
    return -1
}

//格式化时间,  2019-03-17T04:29:46.212Z -> 2019-03-17T12:29:46  2021-09-16T09:19:00.000Z
function formatDate(date) {
    let myDate = new Date(date)
    let year = myDate.getFullYear()
    let month = addZero(myDate.getMonth() + 1)
    let day = addZero(myDate.getDate())
    let hour = addZero(myDate.getHours())
    let minute = addZero(myDate.getMinutes())
    let second = addZero(myDate.getSeconds())

    return `${year}-${month}-${day}T${hour}:${minute}:${second}`
}
//补零函数
let addZero = num => num < 10 ? '0' + num : num